--[[
8种基本类型 nil boolean number string function userdata thread table
只有nil（null NULL）和false表示假 0和空串都表示真
]]

--table 类似于map,数组  k,v 除了nil，都可以作为k值 不指定则使用索引

--声明一个table
t={}
print("t",t)

t={id=1,name="lisi"}
print("t.id",t.id)
print("t.name",t.name)

print("t['id']",t["id"])
print("t['name']",t["name"])

for i, v in pairs(t) do
    print(i,"=",v)
end


--ipairs 1 2 3 4
t={1,"name",false,nil,false}
for i, v in ipairs(t) do
    print(i,"=",v)
end
print("pairs")
for i, v in pairs(t) do
    print(i,"=",v)
end

--新增
print("新增")
t={id=1,name="lisi"}
t.age=10
t["sex"]="男"

for i, v in pairs(t) do
    print(i,"=",v)
end

--修改
print("修改")
t={id=1,name = "lisi"}
t.id=2
t["name"]="张三"
for i, v in pairs(t) do
    print(i,"=",v)
end

--删除
print("删除")
t={id=1}
t.id=nil
for i, v in pairs(t) do
    print(i,"=",v)
end

--复杂结构
t={
    id=1,
    name="lisi",
    "aa",
    12,
    {
        id=2
    },
    func=function()
        return "func"
    end

}

print("复杂结构")
for i, v in pairs(t) do
    print(i,"=",v)
end

print("t.func()",t.func())

print("t[3].id",t[3].id)
